
const db = require('../../MySql')
/**
     * 构造函数 - 创建题目答案对象实例
     * 用于封装试题的各个选项或答案信息，包括选项内容、图片、解析和正确性标识
     * 对应数据库中的 el_qu_answer 表，记录每道题目的所有可能答案选项
     * 
 */
class el_qu_answer{
    /**
     * @param {string} id - 答案记录ID，唯一标识符
     * @param {string} qu_id - 题目ID，关联的试题
     * @param {boolean} is_right - 是否正确选项，true表示该选项是正确答案
     * @param {string} image - 答案图片，选项相关的图片URL或路径
     * @param {string} content - 答案内容，选项的具体文字内容
     * @param {string} analysis - 答案解析，该选项的详细解析说明
     * 
     * 使用示例：
     * const answer = new el_qu_answer(
     *     'qa001',           // 答案记录ID
     *     'qu123',           // 题目ID
     *     true,              // 正确答案
     *     'image.jpg',       // 选项图片
     *     '选项A的内容',      // 选项文字内容
     *     '这是正确答案的解析' // 选项解析
     * )
     */
    constructor(id, qu_id, is_right,image,content,analysis) {
        this.id = id;
        this.qu_id = qu_id;
        this.is_right=is_right;
        this.image=image;
        this.content=content;
        this.analysis=analysis;
    }


    //根据qu_id查询所有答案选项
    static async findQuAnswerByQuId(qu_id) {
        const [results] = await db.query(`
            select * from el_qu_answer where qu_id=?
        `, [qu_id])
        if (results.length === 0) {
            throw new Error('查询题目答案选项失败')
        }
        return results
    }

    /**
     * 根据答案记录ID查询答案详情
     * @param {string} id - 答案记录ID
     * @returns {Promise<el_qu_answer>} 包含答案详情的对象实例
     */
     static async findQuAnswerById(id) {
        const [results] = await db.query(`
            select * from el_qu_answer where id=?
        `, [id])
        if (results.length === 0) {
            throw new Error('查询题目答案选项失败')
        }
        return results[0]
    }
}

module.exports = el_qu_answer